#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    _reserved_0_audio_aiao: [u8; 4usize],
    _reserved1: [u8; 4usize],
    #[doc = "0x08 - AUDIO_AIAO_TX_FIFO_INT_CLR is the ATX_FIFO interrupt clear register."]
    pub audio_aiao_tx_fifo_int_clr:
        crate::Reg<audio_aiao_tx_fifo_int_clr::AUDIO_AIAO_TX_FIFO_INT_CLR_SPEC>,
    #[doc = "0x0c - AUDIO_AIAO_BCLK_CNT is the BCLK_CNT register."]
    pub audio_aiao_bclk_cnt: crate::Reg<audio_aiao_bclk_cnt::AUDIO_AIAO_BCLK_CNT_SPEC>,
    #[doc = "0x10 - AUDIO_AIAO_INT is the interrupt register."]
    pub audio_aiao_int: crate::Reg<audio_aiao_int::AUDIO_AIAO_INT_SPEC>,
    #[doc = "0x14 - AUDIO_AIAO_DMA_WR is the DMA write address register."]
    pub audio_aiao_dma_wr: crate::Reg<audio_aiao_dma_wr::AUDIO_AIAO_DMA_WR_SPEC>,
    #[doc = "0x18 - AUDIO_AIAO_DMA_RD is the DMA read address register."]
    pub audio_aiao_dma_rd: crate::Reg<audio_aiao_dma_rd::AUDIO_AIAO_DMA_RD_SPEC>,
}
impl RegisterBlock {
    #[doc = "0x00 - AUDIO_AIAO_RX_FIFO_INT_CLR is the RX_FIFO interrupt clear register."]
    #[inline(always)]
    pub fn audio_aiao_rx_fifo_int_clr(
        &self,
    ) -> &crate::Reg<audio_aiao_rx_fifo_int_clr::AUDIO_AIAO_RX_FIFO_INT_CLR_SPEC> {
        unsafe {
            &*(((self as *const Self) as *const u8).add(0usize)
                as *const crate::Reg<audio_aiao_rx_fifo_int_clr::AUDIO_AIAO_RX_FIFO_INT_CLR_SPEC>)
        }
    }
    #[doc = "0x00 - AUDIO_AIAO_CTRL is the control register."]
    #[inline(always)]
    pub fn audio_aiao_ctrl(&self) -> &crate::Reg<audio_aiao_ctrl::AUDIO_AIAO_CTRL_SPEC> {
        unsafe {
            &*(((self as *const Self) as *const u8).add(0usize)
                as *const crate::Reg<audio_aiao_ctrl::AUDIO_AIAO_CTRL_SPEC>)
        }
    }
}
#[doc = "AUDIO_AIAO_CTRL register accessor: an alias for `Reg<AUDIO_AIAO_CTRL_SPEC>`"]
pub type AUDIO_AIAO_CTRL = crate::Reg<audio_aiao_ctrl::AUDIO_AIAO_CTRL_SPEC>;
#[doc = "AUDIO_AIAO_CTRL is the control register."]
pub mod audio_aiao_ctrl;
#[doc = "AUDIO_AIAO_RX_FIFO_INT_CLR register accessor: an alias for `Reg<AUDIO_AIAO_RX_FIFO_INT_CLR_SPEC>`"]
pub type AUDIO_AIAO_RX_FIFO_INT_CLR =
    crate::Reg<audio_aiao_rx_fifo_int_clr::AUDIO_AIAO_RX_FIFO_INT_CLR_SPEC>;
#[doc = "AUDIO_AIAO_RX_FIFO_INT_CLR is the RX_FIFO interrupt clear register."]
pub mod audio_aiao_rx_fifo_int_clr;
#[doc = "AUDIO_AIAO_TX_FIFO_INT_CLR register accessor: an alias for `Reg<AUDIO_AIAO_TX_FIFO_INT_CLR_SPEC>`"]
pub type AUDIO_AIAO_TX_FIFO_INT_CLR =
    crate::Reg<audio_aiao_tx_fifo_int_clr::AUDIO_AIAO_TX_FIFO_INT_CLR_SPEC>;
#[doc = "AUDIO_AIAO_TX_FIFO_INT_CLR is the ATX_FIFO interrupt clear register."]
pub mod audio_aiao_tx_fifo_int_clr;
#[doc = "AUDIO_AIAO_BCLK_CNT register accessor: an alias for `Reg<AUDIO_AIAO_BCLK_CNT_SPEC>`"]
pub type AUDIO_AIAO_BCLK_CNT = crate::Reg<audio_aiao_bclk_cnt::AUDIO_AIAO_BCLK_CNT_SPEC>;
#[doc = "AUDIO_AIAO_BCLK_CNT is the BCLK_CNT register."]
pub mod audio_aiao_bclk_cnt;
#[doc = "AUDIO_AIAO_INT register accessor: an alias for `Reg<AUDIO_AIAO_INT_SPEC>`"]
pub type AUDIO_AIAO_INT = crate::Reg<audio_aiao_int::AUDIO_AIAO_INT_SPEC>;
#[doc = "AUDIO_AIAO_INT is the interrupt register."]
pub mod audio_aiao_int;
#[doc = "AUDIO_AIAO_DMA_WR register accessor: an alias for `Reg<AUDIO_AIAO_DMA_WR_SPEC>`"]
pub type AUDIO_AIAO_DMA_WR = crate::Reg<audio_aiao_dma_wr::AUDIO_AIAO_DMA_WR_SPEC>;
#[doc = "AUDIO_AIAO_DMA_WR is the DMA write address register."]
pub mod audio_aiao_dma_wr;
#[doc = "AUDIO_AIAO_DMA_RD register accessor: an alias for `Reg<AUDIO_AIAO_DMA_RD_SPEC>`"]
pub type AUDIO_AIAO_DMA_RD = crate::Reg<audio_aiao_dma_rd::AUDIO_AIAO_DMA_RD_SPEC>;
#[doc = "AUDIO_AIAO_DMA_RD is the DMA read address register."]
pub mod audio_aiao_dma_rd;
